XML چيست و چرا دارای اهميت فراوان است ؟ ( بخش دوم )
?????????
?????? ??

پویان ? وبلاگ.این وبلاگ برای ارائه مطالب به دانشجویان ساختم و امیدوارم مطالب وبلاگ مورد استفاده شما قرار بگیره 09301011105
????? : poyan24@gmail.com



نام :
وب :
پیام :
2+2=:
(Refresh)

<-PollName->

<-PollItems->

خبرنامه وب سایت:

برای ثبت نام در خبرنامه ایمیل خود را وارد نمایید




آمار وب سایت:
 

بازدید امروز : 851
بازدید دیروز : 272
بازدید هفته : 1152
بازدید ماه : 1432
بازدید کل : 136986
تعداد مطالب : 756
تعداد نظرات : 64
تعداد آنلاین : 1



جاوا اسكریپت


?
???????: پویان |
چهار شنبه 10 فروردين 1390 |
<-CategoryName->

XML چيست و چرا دارای اهميت فراوان است  ؟ ( بخش دوم )

در بخش اول،  مفاهيم اوليه تکنولوژی XML  بررسی و پس از معرفی خانواده بزرگ تکنولوژی های مرتبط با XML  ، سه استاندارد لازم بمنظور تعريف نوع سندهای XML تشريح گرديد  (  XML   ،  NameSpace و XML-Schema ( و يا DTD)  ) .  در بخش دوم به بررسی  نحوه انتشار سندهای XML  خواهيم پرداخت .

Html بعنوان اسنانداردی جهت نمايش اطلاعات در عرصه وب ، سالها است که مطرح و استفاده می گردد. تگ های Html مسئوليت تبين نحوه نمايش اطلاعات را بر عهده خواهند گرفت . تکنولوژی فوق برای انجام وظايف محوله از پيش فرض های تعريف شده و ثابت (ايستا ) استفاده می نمايد . مثلا" با مشاهده تگ دقيقا" مشخص شده است که می بايست چه نوع واکنشی صورت پذيرد. ( پر رنگ نمودن متن مورد نظر ) . نبايد انتظار داشته باشيم که با درج تگ عملياتی غير از آنچه از قبل تعريف شده است صورت پذيرد. مفسر تگ های Html پس از انجام تفسير مربوطه ، واکنش از قبل تعريف  شده ای را از خود نشان خواهد داد. مرورگرها بکمک مفسر های مربوطه همواره شرايط يکسانی را برای نمايش فراهم و شرايط خود را بر همه چيز منجمله سليقه و نقطه نظرات طراح و ... ترجيج می دهند. خودخواهی در نمايش و تحميل شرايط مربوطه از نکات قابل تامل در تکنولوژی فوق است . Html محدوده و مرزی را برای تفکيک داده ها از نمايش قائل نگرديده و با تلفيق دو مقوله فوق همواره از يک روش ثابت برای نمايش داده ها استفاده می نمايد. فرض کنيد که يک فايل html داشته و بخواهيم زمانيکه برای کاربر ارسال می گردد در مرورگر مربوطه ، به دو صورت کاملا" متمايز نمايش داده شود . برای نيل به خواسته فوق چاره ای نيست مگر اينکه دو فايل مجزای html را ايجاد که هر يک دارای خروجی اختصاصی خود باشند. در مثال فوق قصد ما نمايش داده های يکسان با فرمت های متفاوت از بعد نمايش است . ما بدنبال روش و يا روش هائی هستيم که قادر به تفکيک بين داده و نمايش باشد. قطعا" Html در اين راستا گزينه ای مناسب نخواهد بود. سندهای Html از تگ هائی نظير

و

  بمنظور ايجاد ساختار و از تگ هائی نظير و بمنظور ايجاد فرمت نمايش اطلاعات استفاده می نمايند . در اين راستا عملا" هيچگونه تگی که نشاندهنده نوع اطلاعات و محتويات سند باشد ، وجود ندارد .بدين ترتيب مفسر  قادر به تفسير تگ های فوق صرفا" در حد نمايش اطلاعات بوده و امکان انجام هيچگونه پردازشی  وجود نخواهد داشت .

حل مشکل با استفاده از XML

Xml بين دو مقوله داده و نمايش تفکيک قائل شده است. در تکنولوژی فوق بدليل عدم وجود تگ های از پيش تعريف شده برای نمايش اطلاعات می توان سناريوی مربوط به نحوه نمايش اطلاعات را بکمک يک تکنولوژی ديگر تعريف و تبين نمود. اطلاعات ذخيره شده بصورت Xml را می توان با حالات متفاوت و اعمال سناريو های متفاوت نمايش داد. برخلاف Html تکتولوژی Xml دارای اطلاعات از قبل تعريف شده و مشخصی برای نحوه نمايش اطلاعات نيست. تگ های تعريف شده در يک سند XML  ، بصراحت ساختار و محتويات را ارائه خواهند داد . در اين حالت می توان نرم افزارهائی را طراحی نمود که قادر به انجام عمليات دلخواه بر روی اطلاعات موجود در سند XML باشند . هنوز يک مسئله وجود دارد : در تگ های تعريف شده در سند XML ، آيتمی  وجود ندارد که به کامپيوتر اعلام نمايد به چه صورت می بايست اطلاعات مربوط به هر يک از المان ها  فرمت ، تا خوانندگان قادر به خواندن آنان باشند . ما به چيزی بيشتر بمنظور تدوين استراتژی نمايش اطلاعات نياز داريم .

زبان های تعريف سبک XML

بمنظور حل مشکل اشاره شده می توان اطلاعات مربوط به نحوه نمايش اطلاعات را در يک فايل مجزا قرار داده و در ادامه با استفاده از يک پردازنده Stylesheet  فايل فوق را با سند XML ترکيب نمود. Stylesheet توسط زبان های Style نوشته می گردند. هر شخص می تواند زبان اختصاصی خود را در اين زمينه پياده سازی و استفاده نمايد ولی  XML با دو زبان استاندارد  ارائه شده است .

CSS)Cascading Style Sheets)

CSS يک زبان Style بوده که بمنظور استفاده در سندهای Html ابداع گرديده ولی بخوبی قادر به فعاليت در کنار سندهای XML نيز می باشد . CSS مکانيزمی مناسب برای نمايش يک سند XML در مرورگر ها است . اکثر ابزارهای توليد صفحات وب دارای امکانات لازم برای توليد اسکريپت های CSS می باشند . CSS دارای دو محدوديت عمده است . اولا" ، قادر به توليد خروجی مناسب و با کيفيت بالا نمی باشد. ثانيا" ، صرفا" باعث تزئين سند شده و قابليت تغيير در دنباله اطلاعات  موجود در سند را نخواهد  داشت . محتويات يک سند XML  در اغلب حالات  دارای يک نطم متفاوت نسبت به حالتی است  که قصد نمايش آنها را داريم .در اين راستا لازم است قبل از استفاده از CSS بمنظور نشر يک سند ،  سند مورد نظر به حالتی که تمايل به نمايش آن را در خروجی داريم ، تبديل  گردد . بدين ترتيب يک مرحله پردازش ديگر به حجم عمليات اضافه خواهد گرديد.

XSL)Extensible Style Language)

XSL يک زبان مبتنی بر XML است که دارای محدوديت های اشاره شده در رابطه با CSS نمی باشد . متاسفانه در حال حاضر ابزارهای لازم برای ايجاد اسکريپت های XSL محدود بوده و در برخی حالات ممکن است نوشتن اسکريپت ها بصورت دستی انجام گيرد . XSL دارای سه ويژگی منحصر بفرد بوده که هر کدام دارای استاندارد اختصاصی خود می باشند.

- Tranformation)XSLT) . ويژگی فوق باعث انتقال يک سند XML به فرمت ديگر می شود. فرمت فوق می تواند يک سند XML ديگر و يا يک سند DHTML باشد .

- Pointing)XPath) . ويژگی فوق امکان مشخص نمودن هر مکان  در يک سند XML را فراهم می نمايد . پتانسيل  فوق بعنوان هسته اساسی پردازش Style Sheet مطرح بوده و مکانيزم لازم در خصوص اعمال قوانين نمايش در خصوص اطلاعات موجود در سند XML را بدون نياز به استفاده از تگ های مربوط به Style  در بطن و همراه سند ، فراهم می نمايد .

- Formating)XSL)  ، فرآيندی است که بر اساس آن امکان اعمال فرمت مورد نظر به اطلاعات، بدون نياز  به نوشتن دستورالعمل ها ئی که مختص يک دستگاه خروجی خاص می باشند ، را فراهم می نمايد . مثلا" می توان قوانينی مشابه : " تمام عناوين می بايست بصورت پررنگ ، فونت تايمز ، در وسط قرار گرفته ، و دور آنها يک کادر  کشيده شده که دارای پهنای N باشد "  را بسادگی تعريف کرد .  ويژگی فوق يک تحول چشمگير نسبت به وضعيت  فعلی است . در اين راستا الزامی به نوشتن قوانين متعدد برای هر يک از دستگاههائی که قصد حمايت از آنان را داريم ، وجود نخواهد داشت .

StyleSheets چگونه کار می کند ؟

مهمترين اصل تمام زبانهای XML Style ، کمک به طراحان بمنظور ايجاد قوانين ، نسبت دهی و دستورالعمل های پردازش برای انواع اطلاعات موجود در يک سند است . قوانين در يک Stylesheet در تمپليت ها قرار گرفته و به المان ها و الگوهای اطلاعاتی موجود ، اشاره خواهند کرد .در زمان اجراء ، يک نرم افزار کوچک که پردازنده StyleSheet ناميده می شود ، سند XML و يک StyleSheet را بعنوان ورودی اخذ خواهد کرد ( پردازنده Stylesheet ، درون هر برنامه ای که Stylesheet را به XML اعمال می نمايد ، نظير مرورگرها و يا ابزارهای طراحی صفحات وب وجود دارد) . پردازنده بر اساس  دستورالعمل های موجود در  Stylesheet عمليات مورد نظر را انجام و بر اساس تمپليت  تعريف شده اطلاعات ذيربط را در آن درج  و باعث ايجاد يک خروجی جديد بعنوان ماحصل کار می نمايد. روش فوق برنامه نويسی  تعريفی  در مقابل رويه ای  ناميده می شود ( در اين حالت قوانين مربوط به نحوه نمايش تعريف شده اند، نه اينکه دستورالعمل های رويه ای در متن کدها استفاده شده باشد ) . نمونه کدهای زير ، يک تمپليت XSLT  را ايجاد که در آن المان > در زمان ايجاد تگ های  Html  ، درشت  نوشته شده خواهند شد .

مثال :  يک تمپليت  ساده XSLT





در تمپليت فوق ، خصلت match  دارای مقدار title بوده و اين بدين معنی است که قانون می بايست به هر المان موجود در </SPAN>  که پردازنده <SPAN lang=en-us>Stylesheet</SPAN> آن را در سند <SPAN lang=en-us>XML</SPAN> پيدا خواهد کرد ، اعمال خواهد شد. قانون موجود در تمپليت به اين نکته اشاره دارد که محتويات المان <SPAN lang=en-us><title></SPAN> در سند <SPAN lang=en-us>XML</SPAN> ، می بايست در فايل <SPAN lang=en-us>Html</SPAN> که ايجاد خواهد شد  ، درج و  قبل از آن تگ <SPAN lang=en-us><H1></SPAN> و بدنبال آن تگ <SPAN lang=en-us><H1/> </SPAN> آورده شود  . فرض کنيد فايل <SPAN lang=en-us>XML</SPAN> مشابه زير باشد : </FONT></P> <DIV align=center> <CENTER> <TABLE style="BORDER-COLLAPSE: collapse" dir=ltr border=1 cellSpacing=0 borderColor=#111111 cellPadding=3 width=427> <TBODY> <TR> <TD dir=rtl bgColor=#cfcf9e width=409> <P align=right><FONT color=#800000 size=2><SPAN lang=fa>مثال :  </SPAN>سند <SPAN lang=en-us>XML</SPAN> که فايل <SPAN lang=en-us>XSLT</SPAN> بر روی آن اعمال می گردد </FONT></P></TD></TR> <TR> <TD dir=rtl bgColor=#ffffe0 width=409> <P dir=ltr align=left><FONT size=2><title><SPAN lang=en-us>This text will be very large</SPAN>


نتيجه فايل HTML  پس از اعمال تمپليت تعريف شده :

This text will be very large

مثال فوق نمونه ساده ای  در اين زمينه بوده و در عمل می توان با استفاده از امکانات موجود، تمپليت های بمراتب پيچيده تر و قدرتمندتری را ايجاد نمود.

StyleSheet و  افزايش انعطاف پذيری

با تفکيک دستورالعمل های فرمت اطلاعات از محتويات اطلاعات و در ادامه استفاده از مکانيزم Stylesheet بمنظور ترکيب آنها  با يکديگر ، قابليت های فراوانی در اختيار علاقه مندان به اين تکنولوژی قرار خواهد گرفت :

خلاصه

استانداردهای اساسی در زمان انتشار  سندهای XML  شامل CSS و XSL/XSLT است  . مهمترين نکات در رابطه با تکنولوژی های فوق ، عبارت است از :


نظرات شما عزیزان:

نام :
آدرس ایمیل:
وب سایت/بلاگ :
متن پیام:
:) :( ;) :D
;)) :X :? :P
:* =(( :O };-
:B /:) =DD :S
-) :-(( :-| :-))
نظر خصوصی

 کد را وارد نمایید:

 

 

 

عکس شما

آپلود عکس دلخواه:






????????: XML چيست و چرا دارای اهميت فراوان است ؟ ( بخش دوم ),

?
????? ?????

» <-PostTitle-> ( <-PostDate-> )

?????
????????
?? ??? ????
????????